Human-computer interaction (HCI) systems are becoming increasingly prevalent in our society. With this increasing prevalence has come an evolution in the nature of such interactions. Punch cards have been surpassed by keyboards, which were themselves complemented by mice, which are themselves now complemented by touch screen displays, etc. Various machine vision approaches may even now facilitate visual, rather than the mechanical, user feedback. Machine vision allows computers to interpret images from their environment to, e.g., recognize users' faces and gestures. Some machine vision systems rely upon grayscale or RGB images of their surroundings to infer user behavior. Some machine vision systems may also use depth-based sensors, or rely exclusively upon depth-based sensors, to recognize user behavior (e.g., the Microsoft Kinect™, Intel RealSense™, Apple PrimeSense™, Structure Sensor™, Velodyne HDL-32E LiDAR™, Orbbec Astra™, etc.).
While depth-based approaches to HCI remove certain problems common to optical systems (e.g., problematic lighting, shadows, user discoloration, etc.) depth-based approaches to HCI may also introduce their own obstacles and complexities. Many depth-based systems may be located within a house, office, shopping center or other environment having dynamic and static qualities. Creating devices and observation platforms that process and interpret data from these environments to extract meaningful data remains quite challenging. Particularly, there is a need to integrate design conditions with mechanical constraints and processing capabilities to achieve a successful user experience. In systems using data from many different depth sensors, it may be necessary to calibrate and interrelate data from each of the depth sensors in a meaningful manner. Such data may also need to be adjusted to account for environmental, dynamic, or structural factors.
The specific examples depicted in the drawings have been selected to facilitate understanding. Consequently, the disclosed embodiments should not be restricted to the specific details in the drawings or the corresponding disclosure. For example, the drawings may not be drawn to scale, the dimensions of some elements in the figures may have been adjusted to facilitate understanding, and the operations of the embodiments associated with the flow diagrams may encompass additional, alternative, or fewer operations than those depicted here and may be performed in a different order of operations than that depicted here. Thus, some components and/or operations may be separated into different blocks or combined into a single block in a manner other than as depicted. The intention is not to limit the embodiments to the particular examples described or depicted. On the contrary, the embodiments are intended to cover all modifications, equivalents, and alternatives falling within the scope of the disclosed examples.